from .tasks import task_func
from apscheduler.triggers.cron import CronTrigger  # 可以很友好的支持添加一个crontab表达式
from .apSheduler import APScheduler
from .db import get_conn

def run_task():
    # 查询数据库的crontab信息 -> 定时任务信息
    # res = fetall("select * from crontab_table")

    engine, tbl = get_conn()
    res = []
    with engine.connect() as conn:
        res = conn.execute(tbl.select()).all()
    # 遍历添加任务
    shche = APScheduler()

    for rs in res:
        shche.add_job(jobid= str(rs.id), func=task_func,
                  args=(rs.task_id, ), trigger=CronTrigger.from_crontab(rs.crontab))

# 最重要的       
run_task()  # 这样当__init__.py创建app时加载这个文件，就会执行添加历史任务啦！
